AWS再入門 Amazon EC2(Windows)編
はじめに
当エントリはDevelopers.IOで弊社AWSチームによる『AWS サービス別 再入門アドベントカレンダー 2015』の10日目のエントリです。昨日9日目のエントリは森永の『AWS Config』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。
本日10日目のテーマは『Amazon EC2』をLinux編(EC2全般を含む)とWindows編に分けて2本同日リリースでお伝えします。
目次
- EC2 Windowsを使うには
- AMIの探し方
- AMIのアップデート
- 利用可能なMicrosoft製品
- Microsoft製品のライセンス
- 製品メディア
- EC2 Windowsを利用する際の注意事項
- 接続方法
- 初期設定
- EC2Config
- sysprep
- トラブルシューティング
- あわせて読みたい
- さいごに
EC2 Windowsを使うには
EC2の全般的な入門記事はLinux編に記載していますので、本稿ではEC2 Windowsを利用する際の注意点をまとめていきます。まずは、Amazon EC2で利用可能なWindows OSとその周辺製品について確認します。
AMIの探し方
まずは、利用したいWindows OSの探し方から確認です。クイックスタートから選択可能なAMIだけがAmazonサポート対象のOSと思っていらっしゃる方(私も以前はそう思い込んでおり、英語OSを日本語化したりしていました)はいませんでしょうか?実際には全てのリージョンでWindows ServerバージョンもOS言語も自由に選ぶことができます。
コミュニティAMIから検索してみてください。入手したいバージョンが見つかるはずです。
利用できるOSバージョン一覧は下記が見やすいですが、リンク先のMarketplaceからは英語OSしか選択できないようですので、日本語OSを利用したい場合には他の方法で再検索してください。
AMIのアップデート
AMI画面からもパブリックイメージを指定することで、利用可能なWindowsインスタンスを検索することが可能です。ただし、下記画像をご覧ください。
Windows Server 2012 R2の日本語OSが3つ見えています。日付を見るとお気付きかと思いますが、Amazonが毎月のWindowsパッチを適用してAMIを更新してくれています(それ以外に後述のEC2ConfigやAWS Tools for Windows PowerShellのバージョンアップも)。構築したらWindows Updateなしですぐに環境が利用できるのは大変ありがたいのですが、直近2ヶ月程度を残して過去分のAMIは削除されてしまいます。評価期間が終わっていざ本番機の構築をしようとした時に、完全に同一のAMIはもう利用できない可能性もありますので、センシティブなケースではプライベートなAMIとしてユーザ側でバックアップを取得しておきましょう。
AWS は、Microsoft の火曜パッチ(毎月第 2 火曜日)の 5 営業日以内に、更新されパッチが全面的に適用された Windows AMI を提供します。この新しい AMI は、Amazon EC2 コンソールの [Images] ページからすぐに入手できます。新しい AMI は、リリースの数日以内に AWS Marketplace およびインスタンス起動ウィザードの [Quick Start] タブで入手できます。AWS は、更新された Windows AMI の公開後、10 営業日以内に、以前に公開された Windows AMI を非公開にして、お客様がデフォルトで最新のセキュリティ更新プログラムを利用できるようにします。
AWS Windows AMI バージョン履歴 - Amazon Elastic Compute Cloud
上記引用のURLからAMIの更新履歴も確認可能ですが、日本語ドキュメントは更新が遅れる場合がありますので、最新情報は必ず英語ドキュメントで確認しましょう。
利用可能なMicrosoft製品
AWS上では、Windows OSだけでなく、SQL Server、Exchange、SharePoint、Lync、カスタム.NETアプリケーション等のほとんどのMicrosoft製品を利用することが可能です。用意されたAMIからEC2を利用するのが最も簡単に始める方法ですが、AWS CloudFormationやAWS Elastic Beanstalkからすぐに利用可能なサンプルも用意されています。
- 製品 - AWS と Microsoft | アマゾン ウェブ サービス(AWS 日本語)
- Microsoft Windows Amazon マシンイメージ(AMI)と AWS CloudFormation テンプレート - AWS CloudFormation
Microsoft製品のライセンス
Microsoft製品を利用する際の利用料は、用意されたAMIをライセンス込みで時間単位の課金で利用するか、BYOL(Bring Your Own License)を利用するか、を選択することができます。詳細については、AWSサポートに確認の上、ご利用ください。
製品メディア
Microsoft製品の機能追加等の作業の際には、製品メディアが必要となる場合があります。Amazon EC2にはisoイメージをマウントするような機能はありませんので、公開されたスナップショットから生成されたEBSボリュームをアタッチして利用します。下記に公開されているOSメディアの一覧が掲載されていますのでご活用ください。SQL Server等、その他の製品メディアについては、AWSサポート経由で提供してもらえる(契約レベルにも依存)ものがありますので確認してみましょう。
EC2 Windowsを利用する際の注意事項
EC2 Windowsを利用する際、知っておくべきことを以下にまとめてみます。
接続方法
EC2 Windowsは、リモートデスクトップ接続を利用して運用します。初回ログイン時はAWS Management Consoleから、Administratorパスワードをキーペアで復号化して接続してください。
初回ログイン後、Administratorパスワードが意図せず書き換わることはありませんが、バックアップとして取得したAMIからリストアをした場合等、この機能を利用できなくなる場合もあります。初回ログイン後はAdministratorパスワードを変更、または、別の管理者ユーザを作成しておくことが推奨されています。
接続したら、次の操作を実行することをお勧めします。
・管理者パスワードをデフォルト値から変更します。他の Windows Server と同様、パスワードの変更は、インスタンス自体にログインした状態で行います。
・インスタンスに管理者権限を持つユーザーアカウントをもう 1 つ作成します。これは管理者パスワードを忘れた場合や、管理者アカウントで問題が発生した場合の安全策です。
RDP を使用して Windows インスタンスに接続する - Amazon Elastic Compute Cloud
EC2 Windowsに触れたことが無い方はトレーニング資料を参考にしてみましょう。
初期設定
EC2 WindowsのAMIには下記のような設定が既に施されています。詳細は下記リンクからご確認ください。
- AWS Windows AMI バージョン履歴 - Amazon Elastic Compute Cloud
- 各種パフォーマンス設定
- TimeZone=UTC
- IPv6無効化
- インストール済ソフトウェア
- .NET Framework
- AWS Tools for Windows
- EC2Config
- PV Driver
- XenSource Windows guest agent
EC2Config
EC2ConfigはEC2 Windows環境用の各種機能を提供してくれるサービスです。Linux編でご紹介したcloud-initに相当するもので、Windowsの初回起動時、再起動時に動作する他、sysprep実行する機能も備えています。
- 初回起動時
- Administratorパスワード設定
- ユーザデータスクリプトの実行
- 再起動時
- コンソール出力
- Windowsライセンス認証
- EBSボリュームのフォーマット
- その他
- 壁紙設定(ログイン時)
- CloudWatch Logsへのログ送信
- sysprep実行
- EC2Config サービスを使用した Windows インスタンスの設定 - Amazon Elastic Compute Cloud
- パフォーマンスカウンタのデータをCloudWatchカスタムメトリクスにする | Developers.IO
sysprep
バックアップとしてAMIをユーザが作成する際、システムバックアップとしての利用するケースと、クローンとして別環境への展開、複数台のベースとするケースがあると思います。システムバックアップとしてのAMI作成は、EC2 Linuxと同様にそのままバックアップを取得すれば問題ありません(逆にsysprepをすることで各種情報が初期化されてしまうのでご注意ください)。クローンとして複数台のベースとするような場合には、EC2Configを利用してsysprepを実行し、各種情報をリセットする必要があります。設定ファイルは下記に保存されています。
- C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml
例えば、TimeZoneはデフォルトではUTCに変更されてしまいますが、JSTのまま再利用したいケースでは、この設定ファイルを修正しておくことで、新たに起動する仮想マシンのTimeZoneを変更せずに利用することができます。sysprepが実行されたAMIを起動すると、EC2Configの初回実行タスクも動作する為、こちらにも注意が必要です。詳細は公式ドキュメントをよく読み、確認の上で利用しましょう。
トラブルシューティング
EC2 Windowsで不具合が生じた場合には、まずこちらのドキュメントに記載が無いか確認してみると良いと思います。ありがちなトラブルはほとんどここに記載があります。
古いAMIから起動したままとなったEC2インスタンスで、ネットワークやディスクに問題がある場合、EC2ConfigやPV Driverのアップデートをすることで、不具合が解消する場合があります。Windowsパッチ適用と合わせてメンテナンスタスクとして頭に入れておくと良いと思います。
- Amazon Windows EC2Config Service : Developer Tools : Amazon Web Services
- Windows AMI での PV ドライバのアップグレード - Amazon Elastic Compute Cloud
- Amazon EC2 Windows Drivers : Developer Tools : Amazon Web Services
障害時の情報収集ツールとしてAWS Diagnostics for Microsoft Windows Server
も用意されています。トラブルシューティングに必要な情報を一括収集可能ですので、是非活用してください。
- AWS Diagnostics for Microsoft Windows Server – ベータ | アマゾン ウェブ サービス(AWS 日本語)
- Windows on EC2でトラブルが起きたらAWS Diagnosticsを使いましょう | Developers.IO
あわせて読みたい
東京リージョンではまだ利用ができませんが、EC2 Windowsを語る上ではSSM(Amazon EC2 Simple Systems Manager)も忘れてはいけません。下記にもぜひ目を通してみてください。
- Windows インスタンス設定の管理 - Amazon Elastic Compute Cloud
- AWSの新サービス SSM を知っていますか? | Developers.IO
- AWS CLIを使ってSSM(EC2 Run Command)を探ってみる | Developers.IO
さいごに
以上、AWS サービス別 再入門アドベントカレンダー 10日目のエントリ『Amazon EC2(Windows)』編でした。ユーザの理解が進み、AWS環境でのWindows活用事例も増えて来ましたので、EC2 Windowsの特性に注意して活用いただければと思います。本記事が少しでも多くの方のお役に立てば嬉しいです。
明日(12/11)は小山のAWS Directory Service編です。お楽しみに!